home *** CD-ROM | disk | FTP | other *** search
/ Aminet 28 / Aminet 28 (1998)(GTI - Schatztruhe)[!][Dec 1998].iso / Aminet / dev / misc / gms_dev.lha / GMSDev / Includes / desktop / window.h < prev   
Encoding:
C/C++ Source or Header  |  1998-07-23  |  2.9 KB  |  75 lines

  1. #ifndef DESKTOP_WINDOW_H
  2. #define DESKTOP_WINDOW_H TRUE
  3.  
  4. /*
  5. **  $VER: window.h V1.0
  6. **
  7. **  Window Definitions.
  8. **
  9. **  (C) Copyright 1996-1998 DreamWorld Productions.
  10. **      All Rights Reserved.
  11. */
  12.  
  13. #ifndef DPKERNEL_H
  14. #include <dpkernel/dpkernel.h>
  15. #endif
  16.  
  17. /****************************************************************************
  18. ** Window.  NB: All windows cooperate with the desktop so you
  19. ** need an Exclusive lock on a window before doing anything
  20. ** to it.
  21. **
  22. ** The window events are:
  23. **
  24. **  OnClick:
  25. **  OffClick:
  26. */
  27.  
  28. #define TAGS_WINDOW ((ID_SPCTAGS<<16)|(ID_WINDOW))
  29. #define VER_WINDOW  1
  30.  
  31. typedef struct Window {
  32.   struct Head Head;               /* [--] Private */
  33.   struct MenuBar   *MenuBar;      /* [RI] Optional menu bar */
  34.   struct TitleBar  *TitleBar;     /* [RI] Option title bar */
  35.   struct Bob       *Pointer;      /* [RI] If pointer should change from Desktop */
  36.   struct Desktop   *Desktop;      /* [R-] The desktop that owns the window */
  37.   struct ScrollBar *VertScroll;   /* [R-] Pointer to the vertical scroll bar */
  38.   struct ScrollBar *HorzScroll;   /* [R-] Pointer to the horizontal scroll bar */
  39.   struct Bitmap    *BackImage;    /* [RI] Background wallpaper or tiles */
  40.   struct Font      *TitleFont;    /* [RI] The font type for our title bar */
  41.   WORD   MinWidth;                /* [RI] */
  42.   WORD   MaxWidth;                /* [RI] */
  43.   WORD   MinHeight;               /* [RI] */
  44.   WORD   MaxHeight;               /* [RI] */
  45.   WORD   AreaWidth;               /* [RI] Maximum area width of our window */
  46.   WORD   AreaHeight;              /* [RI] Maximum area height of our window */
  47.   WORD   Width;                   /* [RI] Current width of our window */
  48.   WORD   Height;                  /* [RI] Current height of our window */
  49.   WORD   XCoord;                  /* [RI] X coordinate of the window */
  50.   WORD   Ycoord;                  /* [RI] Y coordinate of the window */
  51.   BYTE   *Title;                  /* [RI] "My Window" */
  52.   LONG   Gadgets;                 /* [RI] Gadget flags like GAD_CLOSE */
  53.   LONG   Style;                   /* [RI] Look and feel, eg STYLE_SUNKEN */
  54.   LONG   BackColour;              /* [RI] The colour of the background */
  55.   LONG   BackOptions;             /* [RI] WNB_TILE, WNB_CENTRE */
  56.   struct ObjectChain *Children;   /* [R-] A chain of all children inside the window (icons etc). */
  57. } OBJWindow;
  58.  
  59. /***********************************************************************************
  60. ** General gadget flags, apply to both Desktop and Window.
  61. */
  62.  
  63. #define GAD_CLOSE    0x00000001  /* Show the close button */
  64. #define GAD_ICONIFY  0x00000002  /* Show the iconify button */
  65. #define GAD_MAXIMISE 0x00000004  /* Show the maximise button */
  66. #define GAD_RESIZE   0x00000008  /* The resize gadget */
  67.  
  68. /***********************************************************************************
  69. ** Window background flags.
  70. */
  71.  
  72. #define WNB_TILE     0x00000001  /* Tile the background bitmap */
  73. #define WNB_CENTRE   0x00000002  /* Centre the background bitmap */
  74.  
  75.